{%-macro Class(resolver, Name, schema, parentClass=None) -%}
{%-if schema.oneOf is defined -%}
{%-include 'oneof.py.jinja2'-%}
{%-elif schema.allOf is defined -%}
{%-include 'axxof.py.jinja2'-%}
{%-elif schema.anyOf is defined -%}
{%-include 'axxof.py.jinja2'-%}
{%-elif '$ref' in schema %}
# This object makes use of an external schema specified at {{schema['$ref']}}
{%-elif 'type' not in schema-%}
{%-elif schema.type == 'integer'
    or schema.type == 'number'
    or schema.type == 'boolean'
    or schema.type == 'string'-%}
{%-include 'primative.py.jinja2'-%}
{%-elif schema.type == 'array'-%}
{%-include 'array.py.jinja2'-%}
{%-elif schema.type == 'object'-%}
{%-include 'object.py.jinja2'-%}
{%-elif schema.type == 'null'-%}
{%-include 'null.py.jinja2'-%}
{%-elif schema.type == 'string'-%}
{%-include 'primative.py.jinja2'-%}
{%-else-%}
# FIXME.  Unable to generate a schema with type '{{schema.type}}'
{%-endif-%}
{%-endmacro-%}